#ifndef AssetData_H
#define AssetData_H

#include "../../IAssetData.h"

class QString;

namespace XpsAssets
{
	
	/// AssetData base class for all asset data classes
	/// ensures id capabilities
	class AssetData : public virtual IAssetData
	{
	public:
		AssetData(Type t)
		{
			_type = t; 
			_parent = -1;
		};
		/// returns the id of the current item
		int	id() { return m_ID; };
		int parent() { return _parent; };
		Type type() { return _type; };
		/// sets the id of the current item
		void setID(int id) { m_ID = id; };
		void setParent(int id) { _parent  = id; };
		/// returns a string representing the current item
		virtual QString toString() { return QString("AssetData id: %0").arg(id()); };

	private:
		int m_ID;
		int _parent;
		Type _type;
	};

}
#endif